#include<bits/stdc++.h>
using namespace std;
const int N=6e6+10,inf=1e9;
struct ok{
    int f,x,y;
    bool operator <(const ok &A) const{return f==A.f?(x==A.x?y>A.y:x>A.x):f<A.f;}
    ok add2() {return (ok){f,max(0,x-1),y};}
    ok add1(int n) {return x?add2():(ok){f+1,n-1,n-1};}
}dir,ck;
int n,m,k,bx,by,ex,ey;
int C[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
string a[N];
queue<ok>q;
vector<ok>f[N][2];
bool check(int x,int y) {return 0<=x&&x<n&&0<=y&&y<m;}
void bfs()
{
    for(int i=0;i<n;i++)
        for(int j=0;j<2;j++)
            for(int p=0;p<m;p++) f[i][j][p]=(ok){inf,0,0};
    for(int i=0;i<2;i++)
        f[bx][i][by]=(ok){0,0,0},q.push((ok){i,bx,by});
    while(!q.empty())
    {
        int x=q.front().x,y=q.front().y,t=q.front().f;
        q.pop();
        for(int i=0;i<4;i++)
        {
            int tx=x+C[i][0],ty=y+C[i][1];
            if(!check(tx,ty)) continue;
            dir=f[x][t][y];
            int d=i&1;
            if(d!=t) swap(dir.x,dir.y);
            if(a[tx][ty]=='#')
            {
                ck=dir.add1(k);
                if(ck.f!=f[x][t][y].f)
                    for(int j=0;j<2;j++)
                        {if(ck<f[tx][j][ty]) f[tx][j][ty]=ck,q.push((ok){j,tx,ty});}
                else if(ck<f[tx][d][ty]) f[tx][d][ty]=ck,q.push((ok){d,tx,ty});
            }
            if(a[tx][ty]=='.'&&dir.add2()<f[tx][d][ty])
                f[tx][d][ty]=dir.add2(),q.push((ok){d,tx,ty});
        }
    }
}
int main()
{
    freopen("stamp.in","r",stdin);
    freopen("stamp.out","w",stdout);
    cin>>n>>m>>k>>bx>>by>>ex>>ey;
    --bx,--by,--ex,--ey;
    for(int i=0;i<n;i++)
        cin>>a[i],f[i][0].resize(m),f[i][1].resize(m);
    // cerr<<a[0][2]<<endl;
    bfs();
    // for(int i=0;i<n;i++)
    //     for(int j=0;j<m;j++)
    //         printf("(%d %d %d),(%d %d %d)%c",f[i][0][j].f,f[i][0][j].x,f[i][0][j].y,f[i][1][j].f,f[i][1][j].x,f[i][1][j].y," \n"[j==m-1]);
            // cout<<(f[i][0][j].f)<<","<<f[i][1][j].f<<" \n"[j==m-1];
    cout<<min(f[ex][0][ey].f,f[ex][1][ey].f)<<endl;
    return 0;
}